home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / languages / dde / _pc / h / colourtran < prev    next >
Text File  |  1992-04-30  |  12KB  |  326 lines

  1. (*
  2.  * Title:  colourtran.h
  3.  * Purpose: C interface to the ColourTrans SWIs
  4.  *
  5.  *)
  6.  
  7. #ifndef __colourtran_h
  8. #define __colourtran_h
  9.  
  10. #ifndef __os_h
  11. #include "os.h"
  12. #endif
  13.  
  14. #ifndef __wimp_h
  15. #include "wimp.h"
  16. #endif
  17.  
  18. #ifndef __font_h
  19. #include "font.h"
  20. #endif
  21.  
  22.  
  23. (* ----------------------- colourtran_select_table -------------------------
  24.  * Description:   Sets up a translation table in a buffer, given a source
  25.  *                mode and palette, and a destination mode and palette.
  26.  *
  27.  * Parameters:    int source_mode -- source mode
  28.  *                wimp_paletteword *source_palette -- source palette
  29.  *                int dest_mode -- destination mode
  30.  *                wimp_paletteword *dest_palette -- destination palette
  31.  *                void *buffer -- pointer to store for the table.
  32.  * Returns:       possible error condition.
  33.  * Other Info:    none.
  34.  *
  35.  *)
  36. procedure colourtran_select_table(source_mode : integer;
  37.                 source_palette : wimp_paletteword_ptr;
  38.                 dest_mode : integer;
  39.                 dest_palette : wimp_paletteword_ptr;
  40.                 buffer : pointer) : error; extern;
  41.  
  42.  
  43. (* ---------------------- colourtran_select_GCOLtable ----------------------
  44.  * Description:   Sets up a list of GCOLs in a buffer, given a source
  45.  *                mode and palette, and a destination mode and palette.
  46.  *
  47.  * Parameters:    int source_mode -- source mode
  48.  *                wimp_paletteword *source_palette -- source palette
  49.  *                int dest_mode -- destination mode
  50.  *                wimp_paletteword *dest_palette -- destination palette
  51.  *                void *buffer -- pointer to store for the list of GCOLs.
  52.  * Returns:       possible error condition.
  53.  * Other Info:    none.
  54.  *
  55.  *)
  56. procedure colourtran_select_GCOLtable(source_mode : integer;
  57.                 source_palette : wimp_paletteword_ptr;
  58.                 dest_mode : integer;
  59.                 dest_palette : wimp_paletteword_ptr;
  60.                 buffer : pointer) : error; extern;
  61.  
  62.  
  63. (* ------------------------- colourtran_returnGCOL -------------------------
  64.  * Description:   Informs caller of the closest GCOL in the current mode
  65.  *                to a given palette entry.
  66.  *
  67.  * Parameters:    wimp_paletteword entry -- the palette entry
  68.  *                int *gcol -- returned GCOL value.
  69.  * Returns:       possible error condition.
  70.  * Other Info:    none.
  71.  *
  72.  *)
  73. procedure colourtran_returnGCOL(entry : wimp_paletteword;
  74.                 var gcol : integer) : error; extern;
  75.  
  76.  
  77. (* ------------------------ colourtran_setGCOL -----------------------------
  78.  * Description:   Informs caller of the closest GCOL in the current mode
  79.  *                to a given palette entry, and also sets the GCOL.
  80.  *
  81.  * Parameters:    wimp_paletteword entry -- the palette entry
  82.  *                int fore_back -- set to 0 for foreground, 
  83.  *                                 set to 128 for background
  84.  *                int gcol_in -- GCOL action
  85.  *                int *gcol_out -- returned closest GCOL.
  86.  * Returns:       possible error condition.
  87.  * Other Info:    none.
  88.  *
  89.  *)
  90. procedure colourtran_setGCOL(entry : wimp_paletteword;
  91.                 fore_back : integer;
  92.                 gcol_in : integer;
  93.                 var gcol_out : integer) : error; extern;
  94.  
  95.  
  96. (* ---------------------- colourtran_return_colournumber -------------------
  97.  * Description:   Informs caller of the closeset colour number to a given
  98.  *                palette entry, in the current mode and palette
  99.  *
  100.  * Parameters:    wimp_paletteword entry -- the palette entry
  101.  *                int *col -- returned colour number.
  102.  * Returns:       possible error condition.
  103.  * Other Info:    none.
  104.  *
  105.  *)
  106. procedure colourtran_return_colournumber(entry : wimp_paletteword;
  107.                 var gcol : integer) : error; extern;
  108.  
  109.  
  110. (* --------------------- colourtran_return_GCOLformode ---------------------
  111.  * Description:   Informs caller of the closest GCOL to a given palette
  112.  *                entry, destination mode and destination palette.
  113.  *
  114.  * Parameters:    wimp_paletteword entry -- the palette entry
  115.  *                int dest_mode -- destination mode
  116.  *                wimp_paletteword *dest_palette -- destination palette
  117.  *                int *gcol -- returned closest GCOL.
  118.  * Returns:       possible error condition.
  119.  * Other Info:    none.
  120.  *
  121.  *)
  122. procedure colourtran_return_GCOLformode(entry : wimp_paletteword;
  123.                 dest_mode : integer;
  124.                 dest_palette : wimp_paletteword_ptr;
  125.                 var gcol : integer) : error; extern;
  126.  
  127.  
  128. (* ------------------ colourtran_return_colourformode ----------------------
  129.  * Description:   Informs caller of the closest colour number to a given
  130.  *                palette entry, destination mode and destination palette.
  131.  *
  132.  * Parameters:    wimp_paletteword entry -- the palette entry
  133.  *                int dest_mode -- destination mode
  134.  *                wimp_paletteword *dest_palette -- destination palette
  135.  *                int *col -- returned closest colour number.
  136.  * Returns:       possible error condition.
  137.  * Other Info:    none.
  138.  *
  139.  *)
  140. procedure colourtran_return_colourformode(entry : wimp_paletteword;
  141.                 dest_mode : integer;
  142.                 dest_palette : wimp_paletteword_ptr;
  143.                 var col : integer) : error; extern;
  144.  
  145.  
  146. (* ----------------------- colourtran_return_OppGCOL -----------------------
  147.  * Description:   Informs caller of the furthest GCOL in the current mode
  148.  *                from a given palette entry.
  149.  *
  150.  * Parameters:    wimp_paletteword entry -- the palette entry
  151.  *                int *gcol -- returned GCOL value.
  152.  * Returns:       possible error condition.
  153.  * Other Info:    none.
  154.  *
  155.  *)
  156. procedure colourtran_return_OppGCOL(entry : wimp_paletteword;
  157.                 var gcol : integer) : error; extern;
  158.  
  159.  
  160. (* ------------------------ colourtran_setOppGCOL --------------------------
  161.  * Description:   Informs caller of the furthest GCOL in the current mode
  162.  *                from a given palette entry, and also sets the GCOL.
  163.  *
  164.  * Parameters:    wimp_paletteword entry -- the palette entry
  165.  *                int fore_back -- set to 0 for foreground,
  166.  *                                 set to 128 for background
  167.  *                int gcol_in -- GCOL action
  168.  *                int *gcol_out -- returned furthest GCOL.
  169.  * Returns:       possible error condition.
  170.  * Other Info:    none. 
  171.  *
  172.  *)
  173. procedure colourtran_setOppGCOL(entry : wimp_paletteword;
  174.                 fore_back : integer;
  175.                 gcol_in : integer;
  176.                 var gcol_out : integer) : error; extern;
  177.  
  178.  
  179. (* ---------------------- colourtran_return_Oppcolournumber ----------------
  180.  * Description:   Informs caller of the furthest colour number from a given
  181.  *                palette entry, in the current mode and palette
  182.  *
  183.  * Parameters:    wimp_paletteword -- the palette entry
  184.  *                int *col -- returned colour number.
  185.  * Returns:       possible error condition.
  186.  * Other Info:    none.
  187.  *
  188.  *)
  189. procedure colourtran_return_Oppcolournumber(entry : wimp_paletteword;
  190.                 var col : integer) : error; extern;
  191.  
  192.  
  193. (* --------------------- colourtran_return_OppGCOLformode ------------------
  194.  * Description:   Informs caller of the furthest GCOL from a given palette
  195.  *                entry, destination mode and destination palette.
  196.  *
  197.  * Parameters:    wimp_paletteword entry -- the palette entry
  198.  *                int dest_mode -- destination mode
  199.  *                wimp_paletteword *dest_palette -- destination palette
  200.  *                int *gcol -- returned furthest GCOL.
  201.  * Returns:       possible error condition.
  202.  * Other Info:    none.
  203.  *
  204.  *)
  205. procedure colourtran_return_OppGCOLformode(entry : wimp_paletteword;
  206.                 dest_mode : integer;
  207.                 dest_palette : wimp_paletteword_ptr;
  208.                 var gcol : integer) : error; extern;
  209.  
  210.  
  211. (* ------------------ colourtran_return_Oppcolourformode -------------------
  212.  * Description:   Informs caller of the furthest colour number from a given
  213.  *                palette entry, destination mode and destination palette.
  214.  *
  215.  * Parameters:    wimp_paletteword entry -- the palette entry
  216.  *                int dest_mode -- destination mode
  217.  *                wimp_paletteword *dest_palette -- destination palette
  218.  *                int *col -- returned furthest colour number.
  219.  * Returns:       possible error condition.
  220.  * Other Info:    none.
  221.  *
  222.  *)
  223. procedure colourtran_return_Oppcolourformode(entry : wimp_paletteword;
  224.                 dest_mode : integer;
  225.                 dest_palette : wimp_paletteword_ptr;
  226.                 var col : integer) : error; extern;
  227.  
  228.  
  229. (* ---------------------- colourtran_GCOL_tocolournumber -------------------
  230.  * Description:   Translates a GCOL to a colournumber (assuming 256-colour
  231.  *                mode).
  232.  *
  233.  * Parameters:    int gcol -- the GCOL
  234.  *                int *col -- returned colour number.
  235.  * Returns:       possible error condition.
  236.  * Other Info:    none.
  237.  *
  238.  *)
  239. procedure colourtran_GCOL_tocolournumber(gcol : integer;
  240.                 var col : integer) : error; extern;
  241.  
  242.  
  243. (* ----------------- colourtran_colournumbertoGCOL -------------------------
  244.  * Description:   Translates a colour number to a GCOL (assuming 256-colour
  245.  *                mode).
  246.  *
  247.  * Parameters:    int col -- the colour number
  248.  *                int *gcol -- the returned GCOL.
  249.  * Returns:       possible error condition.
  250.  * Other Info:    none.
  251.  *
  252.  *)
  253. procedure colourtran_colournumbertoGCOL(col : integer;
  254.                 var gcol : integer) : error; extern;
  255.  
  256.  
  257. (* ------------------ colourtran_returnfontcolours -------------------------
  258.  * Description:   Informs caller of font colours to match given colours.
  259.  *
  260.  * Parameters:    font *handle -- the font's handle
  261.  *                wimp_paletteword *backgnd -- background palette entry
  262.  *                wimp_paletteword *foregnd -- foreground palette entry
  263.  *                int *max_offset
  264.  * Returns:       possible error condition.
  265.  * Other Info:    Closest approximations to fore/background colours will be
  266.  *                set, and as many intermediate colours as possible (up to
  267.  *                a maximum of *max_offset). Values are returned through
  268.  *                the parameters.
  269.  *
  270.  *)
  271. procedure colourtran_returnfontcolours(var handle : font;
  272.                 backgnd, foregnd : wimp_paletteword_ptr;
  273.                 var max_offset : integer) : error; extern;
  274.  
  275.  
  276. (* -------------------- colourtran_setfontcolours --------------------------
  277.  * Description:   Informs caller of font colours to match given colours, and
  278.  *                calls font_setfontcolour() to set them.
  279.  *
  280.  * Parameters:    font *handle -- the font's handle
  281.  *                wimp_paletteword *backgnd -- background palette entry
  282.  *                wimp_paletteword *foregnd -- foreground palette entry
  283.  *                int *max_offset
  284.  * Returns:       possible error condition.
  285.  * Other Info:    Closest approximations to fore/background colours will be
  286.  *                set, and as many intermediate colours as possible (up to
  287.  *                a maximum of *max_offset). Values are returned through
  288.  *                the parameters. Font_setfontcolours() is then called with
  289.  *                these as parameters.
  290.  *
  291.  *)
  292. procedure colourtran_setfontcolours(var handle : font;
  293.                 backgnd, foregnd : wimp_paletteword_ptr;
  294.                 var max_offset : integer) : error; extern;
  295.  
  296.  
  297. (* ----------------------- colourtran_invalidate_cache ---------------------
  298.  * Description:   To be called when the palette has changed since a call was
  299.  *                last made to a function in this module.
  300.  *
  301.  * Parameters:    void.
  302.  * Returns:       possible error condition.
  303.  * Other Info:    none.
  304.  *
  305.  *)
  306. procedure colourtran_invalidate_cache : error; extern;
  307.  
  308.  
  309. (* new SWIs *)
  310.  
  311. (* ----------------------- colourtran_convert_device_colour ----------------
  312.  * Description:   Convert from a device colour to a standard RGB colour
  313.  *
  314.  * Parameters:    wimp_paletteword device colour
  315.                   wimp_paletteword *rgb colour
  316.  * Returns:       possible error condition.
  317.  * Other Info:    Uses the current calibration to convert from a device
  318.  *                colour to a standard RGB palette entry
  319.  *
  320.  *)
  321. procedure colourtran_convert_device_colour(device : wimp_paletteword;
  322.                 rgb : wimp_paletteword_ptr) : error; extern;
  323.  
  324. #endif
  325. (* end colourtran.h *)
  326.